package com.example.service;

import org.springframework.stereotype.Service;
import java.util.concurrent.atomic.AtomicBoolean;

@Service
public class CrawlerService {
    private final AtomicBoolean isRunning = new AtomicBoolean(false);
    
    /**
     * 启动爬虫
     */
    public void start() {
        isRunning.set(true);
        System.out.println("\n爬虫开始运行");
    }
    
    /**
     * 停止爬虫
     */
    public void stop() {
        isRunning.set(false);
        System.out.println("\n爬虫已停止运行");
        System.err.println("\n\033[31m注意：爬虫程序已停止，但项目仍在运行中！\033[0m");
        System.err.println("\033[31m如需完全停止项目，请手动关闭应用程序。\033[0m");
    }
    
    /**
     * 检查爬虫是否在运行
     */
    public boolean isRunning() {
        return isRunning.get();
    }

    /**
     * 关闭爬虫并清理资源
     */
    public void shutdown() {
        stop();
        System.out.println("\n正在清理资源...");
        // 这里可以添加其他资源的清理代码
        System.out.println("资源清理完成");
        System.out.println("\n\033[31m程序即将退出...\033[0m");
        System.exit(0);
    }
} 